Method and apparatus for providing resource unit based data block partition

ABSTRACT

A method of providing resource unit based data block partitioning may include determining, for a bit stream to be encoded in a coding scheme including an upper layer coding and a physical layer coding, whether upper layer coding is enabled. The method may further include, in response to the upper layer coding being enabled, partitioning the bit stream into one or more blocks for forward error correction coding. The one or more blocks may have a block size determined based on a size of a resource unit. The resource unit size may correspond to one or more units predefined in the physical layer for the resource allocation. A corresponding apparatus is also provided.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.61/290,774, filed Dec. 29, 2009, the contents of which are incorporatedherein in their entirety.

TECHNOLOGICAL FIELD

Embodiments of the present disclosure relate generally to wirelesscommunication technology and, more particularly, relate to a method andapparatus for providing resource unit based data block partition.

BACKGROUND

In general, forward error correction (FEC) technologies protect data byencoding the original source data at the sender such that redundant datais added. A FEC decoding algorithm then allows the receiver to detectand possibly correct errors in the original data based solely on thedata that has been received.

In modern multicast and broadcast service (MBS) communication systems,FEC technology may be generally employed in two complementary ways.First, FEC technology may be used at the physical layer by using thechannel coding scheme to correct bit errors. Second, FEC technology maybe used at an upper layer (e.g., an application layer or transportlayer) using another coding scheme such as, for example, fountain codeor raptor code, to recover lost packets. While the FEC at the physicallayer attempts to ensure that all the actually received bits arecorrect, the FEC provided by the upper layer coding scheme attempts torecover missing data. The channel coding scheme may adopt turbo codes,convolutional codes, LDPC codes, etc., and the upper layer coding schememay employ Reed-Solomon (RS) codes, fountain codes, raptor codes, Lubytransform (LT) codes, Tornado codes, etc. Raptor codes, for example,have been adopted into multiple standards for both file delivery andstreaming applications, including the 3GPP MBMS standards (ThirdGeneration Partnership Program Multimedia Broadcast/Multicast Service)for broadcast file delivery and streaming services, the DVB-H IPDCstandard (Digital Video Broadcast Handheld Internet Protocol Datacast),the DVB-IPI IPTV standard for delivering commercial TV services over anIP network, and multiple other standards.

The IEEE 802.16m standard organization, which is currently competing asa 4G standard, may also utilize this kind of complementary FECtechnology to enhance the reliability and efficiency of the MBS.However, some problems may be induced by the complementary FEC method.FIG. 1 shows an exemplary coding scheme in which a code is used toencode multiple data blocks and generate more encoded blocks. Theencoded block may be formed by modulo-2 adding some of data blocks ormay be directly mapped into one of data blocks. Therefore, the datablocks may be mutually connected. For example, X=A, Y=A⊕B and Z=A⊕B⊕C atthe encoder of the transmitter, where ⊕ represents the bit-wise modulo-2addition. At the receiver, some known encoded blocks which are recoveredmay restore the related data blocks. In FIG. 1, for example, if X can berecovered, A is equal to X. If A is known, B may be obtained bycalculating Y⊕A.

Given a data file, if the file is divided into more data blocks, theencoded blocks may have more possible combinations of data blocks. Thismay result in more robust coding. In other words, a smaller data blocksize may provide a more robust coding scheme. However, the coding schemeat the physical layer may not have a preference for this manner. Takingturbo code as an example, the minimum distance may be larger if theturbo codeword length is longer and better error performance may result.When the coding schemes with these two different characteristics areutilized, the mismatch may induce some problems. FIG. 2 provides anexample illustrating the data flow between the physical (PHY) layercoding and the upper layer coding. At first, the data blocks may beencoded to form the encoded blocks by the upper layer coding scheme. Inthis example, five encoded blocks may be grouped and encoded by one FECencoder. Finally, these bits in FEC encoded blocks may be modulated intosymbols, and then the symbols may be mapped into the resourceallocation. In other words, multiple data blocks may be not only mappedinto a larger FEC block, but also mapped into large resources.

The larger blocks may imply larger storage and induce longer latency atthe receiver. The data blocks may need a relatively long time to becollected on the receiver side since larger packets are received. Inaddition, while multiple data blocks may be mapped into one FEC block, asingle FEC decoding failure may induce contiguous errors to multipledata blocks such that the upper layer coding scheme may not recover themissed data blocks. For example, in 3GPP TS 25.346, data block sizes of384 bits, 1024 bits and 4096 bits are recommended. If a 6144 bit FECblock is used, one erroneous FEC block may cause 16 data block errorswhen a 384 bit data block is used. Additionally, if a few encoded blocksare further required by the upper layer decoding, an FEC blockcomprising many encoded blocks may induce resource waste. Moreover, theupper layer coding may require other error detection. However, moreredundant bits may cause extra error detection overhead, e.g., CRC(cyclic redundancy check) overhead.

The bits in FEC encoded blocks may be modulated into modulation symbols,and then the modulation symbols may be mapped into the resourceallocation. For OFDMA systems, the resources are composed of frequencydomain (also known as subcarrier domain) and time domain (also known assubframe domain or OFDMA symbol domain). In IEEE 802.16m, a unit forresource allocation is defined as the resource unit (RU). An RUcomprises P_(sc) consecutive subcarriers by N_(sym) consecutive OFDMAsymbols. P_(sc) is 18 subcarriers and N_(s)), is 6, 7, and 5 OFDMAsymbols for type-1, type-2, and type-3 AAI subframes respectively.Besides, several kinds of resource allocation unit are also defined, forexample, a physical resource unit (PRU), a logical resource unit (LRU),a sub-band and a mini-band. The PRU and LRU have the same size as theRU. A sub-band and a mini-band comprise four and one adjacent PRUs,respectively.

In 3GPP Long Term Evolution (LTE) (3GPP TS 36.211), a unit for resourceallocation is defined as the resource block (RB). An RB consists of 7 or6 consecutive SC-FDMA symbols in the time domain by 12 consecutivesubcarriers in the frequency domain.

BRIEF SUMMARY

A method and apparatus are therefore provided for enabling the provisionof a resource unit based data block partition. For example, someembodiments may relate to data block partition, and scheduling andresource configuration in order to address some of the problemsdescribed above.

In one exemplary embodiment, a method of providing resource unit baseddata block partitioning is provided. The method may include determininga number of used resource units for a forward error correction (FEC)block at the physical layer, determining a number of information bits toone FEC block based on the number of used resource units; anddetermining the size of data block of upper layer coding based on thenumber of information bits of one FEC block for the upper layer coding.

In another exemplary embodiment, an apparatus for providing resourceunit based data block partitioning is provided. The apparatus mayinclude processing circuitry configuring the apparatus for determining anumber of used resource units for a forward error correction (FEC) blockat the physical layer, determining a number of information bits to oneFEC block based on the number of used resource units; and determiningthe size of data block of upper layer coding based on the number ofinformation bits of one FEC block for the upper layer coding.

In another exemplary embodiment, a method for decoding data employingresource unit based data block partitioning is provided. The method mayinclude receiving a bit stream encoded in a coding scheme including anupper layer coding and a physical layer coding and decoding the bitstream based on the bit stream being partitioned into one or more blocksfor forward error correction coding. The one or more blocks may have ablock size determined based on a size of a resource unit. The resourceunit size may correspond to one or more units predefined in the physicallayer for the resource allocation.

In another exemplary embodiment, an apparatus for decoding dataemploying resource unit based data block partitioning is provided. Theapparatus may include processing circuitry configuring the apparatus forreceiving a bit stream encoded in a coding scheme including an upperlayer coding and a physical layer coding and decoding the bit streambased on the bit stream being partitioned into one or more blocks forforward error correction coding. The one or more blocks may have a blocksize determined based on a size of a resource unit. The resource unitsize may correspond to one or more units predefined in the physicallayer for the resource allocation.

Some embodiments may therefore provide a methods, apparatus and systemthat may provide device users with improved capabilities and userexperience with respect to accessing wireless networks via mobiledevices.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

The foregoing summary, as well as the following detailed description ofthe disclosure, will be better understood when read in conjunction withthe appended drawings. For the purpose of illustrating embodiments,there are shown in the drawings embodiments which are examples. Itshould be understood, however, that the invention is not limited to theprecise arrangements and instrumentalities shown. In the drawings:

FIG. 1 shows an exemplary coding scheme in which the code used encodesmultiple data blocks and generates more encoded blocks;

FIG. 2 provides an example illustrating the data flow between thephysical layer and the upper layer coding;

FIG. 3 illustrates an example of the resource allocation for a resourceunit based coding block according to an exemplary embodiment;

FIG. 4 illustrates an exemplary data flow to explain resource unit baseddata block partition of an exemplary method in the transmitter;

FIG. 5 provides another example of forward error correction code blockmapping to a resource that may be used in connection with an exemplaryembodiment;

FIG. 6 illustrates an example of resource allocation for resource unitbased data block partition according to an exemplary embodiment;

FIG. 7 illustrates an example where the forward error correction blocksize is restricted to fill two resource units according to an exemplaryembodiment;

FIG. 8 illustrates an example where the forward error correction blocksize is restricted to a sub-band according to an exemplary embodiment;

FIG. 9 illustrates an exemplary coding chain provided at a perscheduling interval according to an exemplary embodiment;

FIG. 10 is a block diagram according to a process flow for determiningdifferent manners to employ coding schemes for different purposes orapplications in a communication system according to an exemplaryembodiment;

FIG. 11 is a block diagram according to an apparatus for providingresource unit based data block partitioning according to an exemplaryembodiment;

FIG. 12 is a block diagram according to a method of providing resourceunit based data block partitioning according to an exemplary embodiment;and

FIG. 13 is a block diagram according to a method for decoding dataemploying resource unit based data block partitioning according to anexemplary embodiment.

DETAILED DESCRIPTION

Reference will now be made in detail to the present embodiments of thedisclosure, examples of which are illustrated in the accompanyingdrawings. Wherever possible, the same reference numbers will be usedthroughout the drawings to refer to the same or like parts. As usedherein, the terms “data,” “content,” “information” and similar terms maybe used interchangeably to refer to data capable of being transmitted,received and/or stored in accordance with exemplary embodiments.Moreover, the term “exemplary,” as used herein, is not provided toconvey any qualitative assessment, but instead merely to convey anillustration of an example. Thus, use of any such terms should not betaken to limit the spirit and scope of embodiments of the presentdisclosure.

As indicated above, FEC technology may be employed at the physical layerusing the channel coding scheme to correct bit errors, and at the upperlayer (e.g., application layer or transport layer) using another codingscheme to recover lost packets. Thus, while the FEC at the physicallayer attempts to ensure that all the actually received bits arecorrect, the FEC provided by the upper layer coding scheme attempts torecover missing data. Generally speaking, larger blocks imply largerstorage and longer latency required at the receiver. In addition, whilemultiple data blocks may mapped into one physical layer (PHY) FEC block,PHY FEC decoding failure may induce errors to multiple data blocks suchthat the upper layer coding scheme may not recover them.

Some exemplary embodiments are provided herein that may address some ofthese issues by applying a resource unit based data block partitionmethod. Resource configuration methods are also discussed herein. Someexemplary embodiments may address issues such as large storage overhead,reception latency, contiguous errors, resource waste and error detectionoverhead via cooperation between the physical layer and the upper layerin connection with a burst partition method.

For MBS in connection with an exemplary embodiment, it may be desirableto restrict the FEC block size to a smaller size in order to reducestorage overhead and reception latency. Accordingly, some exemplaryembodiments use a resource unit as the unit for the data block toimprove MBS, where the resource unit is smaller than the total allocatedradio resource. Thus, contrary to popular conventional coding concepts,some exemplary embodiments choose smaller FEC blocks instead of thelargest FEC block which renders the best error correction performance.

As an example, the resource unit may be defined as one or multiple RU(resource unit, whose size is the same as logical RU (LRU) or physicalRU (PRU)) in IEEE 802.16m. Furthermore, the resource unit may be definedas one or multiple sub-bands, one or multiple mini-bands or the like.Thus, the FEC block size may be based on the resource unit size whichmay be smaller than the total allocated resource. In an exemplaryembodiment, the RU may correspond to 6 symbols each having 18subcarriers for a total of 108 tones in IEEE 802.16m. In 3GPP Long TermEvolution (LTE), the resource unit may be defined as one or multiple RBs(resource block), so the FEC block size may be based on the resourceunit size which may be smaller than the total allocated resource. Forexample, FEC CRC could be reused for data block error detection toreduce CRC overhead.

The upper layer coding scheme (e.g., fountain codes, raptor codes, RScodes or the like) encodes data per one or multiple PHY schedulingintervals to reduce buffer and latency at the receiver side. In somecases, the PHY scheduling interval may be set to the enhanced MBS(E-MBS) scheduling interval (MSI) in IEEE 802.16m (or other WiMAXrelated standards), which refers to a number of successive super-framesfor which the access network may schedule traffic for the streamsassociated with the MBS Zone prior to the start of the interval. The MSImay be, for example, 2, 4, 8 or 16 superframes long depending on theparticular use case of E-MBS.

FIG. 3 illustrates an example of a resource unit based (RU-based) codingblock according to an exemplary embodiment. In FIG. 3, the entire block100 represents the total available resource. A portion of the block 100(e.g., sub-block 102) indicates a resource unit and occupies the timeduration of one subframe and the frequency duration of one sub-band,mini-band, or one or more RUs/RBs. Thus, one FEC coding block may fill aportion of the sub-block 102.

FIG. 4 illustrates an exemplary data flow to explain resource unit based(RU-based) data block partition of an exemplary method in thetransmitter. As shown in FIG. 4, the data blocks (A, B, C, etc.) may beinitially encoded to form the encoded blocks (X, Y, Z, etc.) by theupper layer coding scheme which may employ, for example, fountain codes,raptor codes, etc. Then, each of the encoded blocks may be encoded byCRC, e.g., 16-bit CRC or 8-bit CRC. The CRC added encoded block may befed into an FEC encoder to generate FEC encoded blocks (e.g., 120, 122,124, etc.) according to an appropriate code rate. Finally, these bits inFEC encoded blocks may be modulated, and then the symbols may be mappedinto resource units (RUs). In an exemplary embodiment, the bits of onedata block may be allowed to be mapped into one resource unit. Thus, forexample, the RU-based partition may provide for each RU-based block (X,Y, Z, etc.) to be partitioned into what will ultimately be acorresponding resource unit. In FIG. 4, the resource unit is an LRU.Therefore, the encoded blocks outputted by the upper layer coding may becalled resource unit based bocks. It should be noted that otherfunctional blocks beyond those shown in FIG. 4 may exist between any ofthe functional blocks that are illustrated in FIG. 4. According to theexample of FIG. 4, at the receiver, the FEC decoder may decode data perLRU, and X, Y and Z may be sequentially obtained so that A, B and C canbe decoded.

Tables 1-3 below introduce burst partition rules from IEEE 802.16m/D3.The burst sizes (N_(DB)) listed in Table 1 may be supported in the PHYlayer. These sizes include the addition of CRC (per burst and per FECblock) when applicable. Other sizes may require padding to the nextburst size. When the burst size including 16 burst CRC bits exceeds themaximum FEC block size, e.g., 600 bytes, the burst may be partitionedinto K_(FB) FEC blocks. The burst size may be determined by the threefollowing tables with parameters—allocation size (the size of resourceallocation), modulation order and effective code rate according to thelink adaptation.

TABLE 1 burst size N_(DB) ids (byte) K_(FB) 1 6 1 2 8 1 3 9 1 4 10 1 511 1 6 12 1 7 13 1 8 15 1 9 17 1 10 19 1 11 22 1 12 25 1 13 27 1 14 31 115 36 1 16 40 1 17 44 1 18 50 1 19 57 1 20 64 1 21 71 1 22 80 1 23 90 124 100 1 25 114 1 26 128 1 27 144 1 28 164 1 29 180 1 30 204 1 31 232 132 264 1 33 296 1 34 328 1 35 368 1 36 416 1 37 472 1 38 528 1 39 600 140 656 2 41 736 2 42 832 2 43 944 2 44 1056 2 45 1200 2 46 1416 3 471584 3 48 1800 3 49 1888 4 50 2112 4 51 2400 4 52 2640 5 53 3000 5 543600 6 55 4200 7 56 4800 8 57 5400 9 58 6000 10 59 6600 11 60 7200 12 617800 13 62 8400 14 63 9600 16 64 10800 18 65 12000 20 66 14400 24

The burst size index may be calculated asidx=I_(MinimalSize)+I_(SizeOffset), where I_(MinimalSize) may becalculated based on the allocation size as shown in Table 2. Theallocation size may be defined as the number of LRUs multiplied by theMIMO rank that are allocated for the burst. The modulation order N_(mod)(e.g., 2 for QPSK, 4 for 16-QAM and 6 for 64-QAM) depends on theparameter I_(SizeOffSet) according to

Table 3. Allocation size of 1 or 2 LRUs may be special cases (separatecolumns in the table). For allocation of at least 3 LRUs, the modulationorder depends only on I_(SizeOffset). The allocation size and the valueof I_(SizeOffset) may be set by an ABS (advanced base station)scheduler, which takes into account the resulting modulation order andeffective code rate, and according to the link adaptation.

TABLE 2 minimal size index as a function of the allocation sizeAllocation size I_(MinimalSize) 1~3 1 4 2 5 4 6 6 7 8 8 9 9 10 10~11 1112  12 13  13 14~15 14 16~18 15 19~20 16 21~22 17 23~25 18 26~28 1929~32 20 33~35 21 36~40 22 41~45 23 46~50 24 51~57 25 58~64 26 65~72 2773~82 28 83~90 29  91~102 30 103~116 31 117~131 32 132~145 33 146~164 34165~184 35 185~192 36

TABLE 3 rules for modulation order N_(mod) N_(mod) N_(mod)I_(SizeOffset) (allocation size > 2) (allocation size = 2) (allocationsize = 1) 0~9 2 2 2 10~15 2 2 4 16~18 2 4 6 19~21 4 4 6 22~23 4 6 624~31 6 6 6

In another exemplary embodiment, an exemplary resource unit based datablock partition may be provided such that, if the allocation sizes arerestricted to 1-4 RUs, only the burst sizes of idx 1-33 in Table 1remain. E-MBS may utilize these 33 kinds of burst size.

In another exemplary embodiment, if allocation sizes are restricted to1-8 RUs, only the burst sizes of idx 1-40 in Table 1 remain. E-MBS mayutilize these 40 kinds of burst size. FIG. 5 provides another examplethat may be used in connection with IEEE 802.16m/D3. Assume the totalresource size is 100 RUs and the burst size is 19,200 bits, where one RUcomprises 96 data tones. 16-QAM may be used with a nominal rate of ½.According to this example, the burst 200, which may be divided into 4FEC blocks (e.g., block 202, block 204, block 206 and block 208) witheach block including 4800 bits. According to the example shown in FIG.3, the four FEC blocks mapped to the total resources may be as shown inFIG. 5. The following exemplary embodiments may be used to implementresource unit based data block partition according to an exemplarymethod when the total transmitted data is 19,200 bits.

FIG. 6 illustrates an example of resource allocation for RU-based datablock partition. In this regard, if the resource unit 210 is defined asan RU and the FEC block size is restricted to the size of the resourceunit 210 (i.e., an RU), the total transmitted data may be partitionedsuch that each burst has an FEC block comprising 200 bits. The actualcode rate may be about 0.52. As shown in FIG. 6, four RUs may remain(e.g., in the bottom right corner of the exemplary large block of FIG.6) and may be utilized by other traffic (e.g., unicast). The crosshatching of respective blocks in FIG. 6 helps to illustrate the size ofeach respective FEC block of about 200 bits.

In some cases, the data block partitioning may be accomplished toprovide a two-RU based data block partition. FIG. 7 illustrates anexample where the resource unit 220 is defined as two RUs and the FECblock size is restricted to the size of the resource unit 220 that fillstwo RUs. In such an example, the total transmitted data may bepartitioned such that each burst has a FEC block of about 400 bits. Theactual code rate may be about 0.52. As shown in FIG. 7, four RUs mayremain (e.g., in the bottom right corner of the exemplary large block ofFIG. 7) and may be utilized by other traffic (e.g., unicast). The crosshatching of respective blocks in FIG. 7 helps to illustrate the size ofeach respective FEC block of about 400 bits.

In some cases, the data block partitioning may be accomplished toprovide resource allocation for sub-band-based data block partition.FIG. 8 illustrates an example where the resource unit 230 is defined asone sub-band (i.e., four RUs) and the FEC block size is restricted tothe resource unit 230 size that is the size of a sub-band. In such anexample, the total transmitted data may be partitioned such that eachburst has a FEC block of about 800 bits. The actual code rate may beabout 0.52. As shown in FIG. 8, four RUs may remain (e.g., in the bottomright corner of the exemplary large block of FIG. 8) and may be utilizedby other traffic (e.g., unicast). The cross hatching of respectiveblocks in FIG. 8 helps to illustrate the size of each respective FECblock of about 800 bits.

In an exemplary embodiment, the upper layer coding may encode data perscheduling interval. The upper layer coding scheme (e.g., fountaincodes, raptor codes, RS codes, or the like) may be used to encode dataper one or multiple PHY scheduling intervals to reduce register size andlatency at the receiver side as shown in FIG. 9. FIG. 9 illustrates anexemplary coding chain provided per scheduling interval according to anexemplary embodiment.

Communication systems employing exemplary embodiments may, in somecases, employ the coding schemes in a different manner for differentpurposes or applications as shown in FIG. 10. For example, in somecases, a data stream 300 may be provided and a determination may be madeas to whether upper layer coding is enabled at operation 310. If theupper layer coding is enabled, data block partition may be accomplishedbased on the resource unit at the PHY layer at operation 320. Meanwhile,if the upper layer coding is not enabled, data block partition may beaccomplished based on the resource allocation for the correspondingmobile station at the PHY layer at operation 330.

In some embodiments, the resource configuration may be investigated(e.g., for MBS configuration messages) in connection with allocation ofone or multiple bits to indicate whether a corresponding kind of datablock partition rule is applied in the system. In an exemplaryembodiment, rules may be configured in a global setting message. Forexample, in IEEE 802.16m, rules may be provided by AAI-E-MBS-CFG toannounce that all MBS services are to apply a corresponding kind of FECencoding rule through E-MBS_PARTITION_INDICATOR as shown below in Table4. The E-MBS_PARTITION_INDICATOR may be the same for all E-MBS zones.

TABLE 4 Exemplary embodiment of resource configuration indicating E-MBSpartition Syntax Size (bits) Notes AAI-E-MBS- CFG_Message_Format( ) { Num_E-MBS_Zones 3 Number of E-MBS Zones with which the ABS may beassociated.  E- 0: unicast partition rule; 1: E-MBS MBS_PARTITION_partition rule INDICATOR  E- 3 The number of subframes in each frameMBS_SUBFRAME_ duration INDICATOR  E-MBS_SUB- Variable Number ofsub-bands for E- BAND_INDICATOR MBS region which may be represented by5, 4, or 3 bits for 2048, 1024, or 512 FFT size, respectively.  for(i=0;i< Num_E- MBS_Zones; i++) {   E-MBS_Zone_ID 7 The EMBS_Zone_ID to whichthis EMBS MAP applies.   MSI Length 2 The length of an MSI in units ofthe number of superframes 0b00: 2 superframes, 40 ms 0b01: 4superframes, 80 ms 0b10: 8 superframes, 160 ms 0b11: 16 superframes, 320ms   E-MBS MAP Resource index includes Resource Index location andallocation size.   E-MBS MAP I_(SizeOffset) 5  } }

In some embodiments, a rule may be configured according to E-MBS zonesin a global setting message. For example, in IEEE 802.16m, rules may beprovided by AAI-E-MBS-CFG to announce that all MBS services in acorresponding E-MBS zone are to apply a corresponding kind of FECencoding rule through E-MBS_PARTITION_INDICATOR as shown below in Table5. The E-MBS_PARTITION_INDICATOR may indicate the status for eachrespective E-MBS zone.

TABLE 5 Exemplary embodiment of resource configuration indicating E-MBSpartition Syntax Size (bits) Notes AAI-E-MBS- CFG_Message_Format( ) { Num_E-MBS_Zones 3 Number of E-MBS Zones with which the ABS may beassociated.  E- 3 The number of subframes in each MBS_SUBFRAME_ frameduration INDICATOR  E-MBS_SUB- Variable Number of sub-bands for E-MBSBAND_INDICATOR region which may be represented by 5, 4, or 3 bits for2048, 1024, or 512 FFT size, respectively.  for(i=0; i< Num_E-MBS_Zones; i++) {   E- 0: unicast partition rule; 1: E- MBS_PARTITION_MBS partition rule INDICATOR   E-MBS_Zone_ID 7 The EMBS_Zone_ID to whichthis EMBS MAP applies.  MSI Length 2 The length of an MSI in units ofthe number of superframes 0b00: 2 superframes, 40 ms 0b01: 4superframes, 80 ms 0b10: 8 superframes, 160 ms 0b11: 16 superframes, 320ms   E-MBS MAP Resource index includes location Resource Index andallocation size.   E-MBS MAP I_(SizeOffset) 5  } }

In an exemplary embodiment, a rule may be configured in an E-MBS zonesetting message for a plurality of (or all) services. For example, inIEEE 802.16m, rules may be provided by E-MBS MAP to indicate that allservices within a zone are to apply a corresponding kind of rule throughan E-MBS_PARTITION_INDICATOR as shown below in Table 6. TheE-MBS_PARTITION_INDICATOR may be the same for all flows in thecorresponding E-MBS zone.

TABLE 6 Exemplary embodiment of resource configuration indicating E-MBSpartition Syntax Size (bits) Notes E-MBS-DATA_IE( ) {  No. of MSTID+FIDs8 Total number of E-MBS streams in the IE.  E- 0: unicast partitionrule; 1: E-MBS MBS_PARTITION_ partition rule INDICATOR  for(i=0; i< No.of MSTID+FIDs; i++) {   MSTIF+FID 16  Multicast STID + Flow ID of an E-MBS stream.   I_(size-Offset) 5 Depends on supported modes, 32 modesassumed as baseline.   MEF 1 E-MSB Encoding Format 0b0: SFBC, 0b1:Vertical Encoding   if (MEF == 0b0) {    Mt  } 1 Number of streams fortransmission for Nt = 2, Nt = 4, and Nt = 8 (Mt <= Nt) 0b0: 1 stream,0b1: 2 stream   E-MBS Frame/ [TBD] Include the location of the AAIsubframe offset frame/AAI subframe where the E- MBS data burst begins.  E-MBS Resouce [TBD] Include the location of the Indexing subcarrierindex where the E-MBS data burst begins   Allocation period [TBD]Inter-arrivel intervals of E-MBS data bursts for an E-MBS stream (innumber of frames)  } }

In another exemplary embodiment, a rule can be configured for a servicein an E-MBS zone setting message for a specific service. For example, inIEEE 802.16m, rules may be provided by E-MBS MAP to indicate that aspecific service within a zone is to apply a corresponding kind of rulethrough an E-MBS_PARTITION_INDICATOR as shown below in Table 7. TheE-MBS_PARTITION_INDICATOR may indicate the status for each service flow.

TABLE 7 Exemplary embodiment of resource configuration indicating E-MBSpartition Syntax Size (bits) Notes E-MBS-DATA_IE( ) {  No. of MSTID+FIDs8 Total number of E-MBS streams in the IE.  for(i=0; i< No. ofMSTID+FIDs; i++) {   MSTIF+FID 16  Multicast STID + Flow ID of an E- MBSstream.   I_(Size-Offset) 5 Depends on supported modes, 32 modes assumedas baseline.   MEF 1 E-MSB Encoding Format 0b0: SFBC, 0b1: VerticalEncoding   E- 0: unicast partition rule; 1: E-MBS MBS_PARTITION_partition rule INDICATOR   if (MEF == 0b0) {    Mt  } 1 Number ofstreams for transmission for Nt = 2, Nt = 4, and Nt = 8 (Mt <= Nt) 0b0:1 stream, 0b1: 2 stream   E-MBS Frame/ [TBD] Include the location of theAAI subframe offset frame/AAI subframe where the E- MBS data burstbegins.   E-MBS Resouce [TBD] Include the location of the Indexingsubcarrier index where the E-MBS data burst begins   Allocation period[TBD] Inter-arrivel intervals of E-MBS data bursts for an E-MBS stream(in number of frames)  } }

Exemplary embodiments may therefore provide for a correspondence to beprovided between the upper layer block size and codeword length of theFEC encoded blocks. This is contrary to conventional structures whichtend to provide codeword lengths that are larger than the upper layerblock sizes and may therefore suffer from contiguous errors and/orreception latency. Thus, whereas conventionally, the codeword lengthtends to be larger than the upper layer block size, which results in alarge codeword in the physical layer and therefore requires largerregister size and latency at the receiver side, exemplary embodimentsmay provide for a resource unit that may be set up to provide lessmismatch between upper layer block size and physical layer encoded blocksize. Thus, for example, register size and latency at the receiver maybe reduced. Moreover, exemplary embodiments that set the physical layerblock size (that may be limited to the resource unit size) to be equalto the upper layer block sizes may avoid contiguous errors, reduce errordetection overhead and provide relatively efficient resourceutilization. As such, exemplary embodiments may reduce physical layercode block size to fit the upper layer block size. The size of thephysical layer code block size (or size of the resource unit to be used)may be defined in the system. Decoding of the FEC encoded blocksreceived at a receiver (e.g., a mobile station or advanced mobilestation) may happen in reverse of the operations shown in FIGS. 4 and 9.

FIG. 11 illustrates an example of structure that may be employed toexecute some exemplary embodiments. In this regard, FIG. 11 illustratesan apparatus 400 that may be embodied at or as either a mobile station(e.g., an AMS) or a base station configurable to perform exemplaryembodiments. The apparatus 400 may include a processor 410. Theprocessor 410 may be embodied in a number of different ways. Forexample, the processor 410 may be embodied as various processing meanssuch as a processing element, a coprocessor, a controller or variousother processing devices including integrated circuits such as, forexample, an ASIC (application specific integrated circuit), an FPGA(field programmable gate array), a hardware accelerator, or the like. Inan exemplary embodiment, the processor 410 may be configured to executeinstructions stored in a memory device or otherwise accessible to theprocessor 410. By executing stored instructions or operating inaccordance with hard coded instructions, the processor 410 may controlthe operation of the apparatus 400 by directing functionality of theapparatus 400 associated with implementing resource unit basedpartitioning described above according to the respective configurationprovided to the apparatus 400 by the processor 410 and/or theinstructions stored in memory for configuring the processor 410. Assuch, whether configured by hardware or software methods, or by acombination thereof, the processor 410 may represent an entity capableof performing operations according to exemplary embodiments whileconfigured accordingly.

The apparatus 400 may also include a storage module 420. The storagemodule 420 may include, for example, volatile and/or non-volatilememory. The storage module 420 may be configured to store information,instructions and/or the like. For example, the storage module 420 couldbe configured to buffer data for processing by the processor 410 orprior to transmission or successive to reception. Additionally oralternatively, the storage module 420 could be configured to storeinstructions for execution by the processor 410. The storage module 420may be an integrated part of the apparatus 400 or may be a removablememory device.

In some embodiments, the apparatus 400 may further include an interfacemodule 430. The interface module 430 may include hardware, and in somecases also software for configuring the hardware, for enabling theapparatus 400 to interface with other devices and users, if applicable.Thus, for example, if the apparatus 400 is embodied as a mobile station,the interface module 430 may include a user interface providing, forexample, display, keyboard, soft keys, touch screen interface, mouse,joystick, microphone, speaker, and/or any other user interfacecapabilities that a mobile station may employ. The interface module 430may also include circuitry and/or components to enable inter-deviceinterface as well. As such, the interface module 430 may include wiredand/or wireless interface circuitry such as an antenna (or antennas) andcorresponding transmission and receiving circuitry to enable wirelesscommunication with other devices over a radio access technology.

In an exemplary embodiment, the processor 410 and/or the storage module420 may comprise portions of processing circuitry configured to causethe apparatus 400 to perform functionality according to theconfiguration either hardwired into the processor 410 or provided by theexecution of instructions stored in the storage module 420. As such, theapparatus 400 may be configured to control resource unit basedpartitioning as described above according to the perspective of themobile station or the base station in which the apparatus 400 isemployed. As such, when employed in a base station or mobile station,the apparatus 400 may be configured to encode data using resource unitbased partitioning rules as described above or decode data using areverse procedure. Accordingly, the apparatus 400 may be configured fordetermining, for a bit stream to be encoded in a coding scheme includingan upper layer coding and a physical layer coding, whether upper layercoding is enabled. The apparatus 400 may further be configured for, inresponse to the upper layer coding being enabled, partitioning the bitstream into one or more blocks for forward error correction coding. Theone or more blocks may have a block size determined based on a size of aresource unit. The resource unit size may correspond to one or moreunits predefined in the physical layer for the resource allocation. Assuch, the apparatus 400 may be configured to perform the methoddescribed in connection with FIGS. 12 and/or 13 below, with or withoutthe modifications described below.

FIGS. 12 and 13 are flowcharts of a system, method and program productaccording to exemplary embodiments. It will be understood that eachblock or step of the flowcharts, and combinations of blocks in theflowcharts, can be implemented by various means, such as hardware,firmware, and/or software including one or more computer programinstructions. For example, one or more of the procedures described abovemay be embodied by computer program instructions. In this regard, in anexemplary embodiment, the computer program instructions which embody theprocedures described above are stored by a memory device and executed bya processor or controller. As will be appreciated, any such computerprogram instructions may be loaded onto a computer or other programmableapparatus (i.e., hardware) to produce a machine, such that theinstructions which execute on the computer or other programmableapparatus create means for implementing the functions specified in theflowcharts block(s) or step(s). In some embodiments, the computerprogram instructions are stored in a computer-readable memory that candirect a computer or other programmable apparatus to function in aparticular manner, such that the instructions stored in thecomputer-readable memory produce an article of manufacture includinginstruction means which implement the function specified in theflowcharts block(s) or step(s). The computer program instructions mayalso be loaded onto a computer or other programmable apparatus to causea series of operations to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions which execute on the computer or otherprogrammable apparatus provide steps for implementing the functionsspecified in the flowcharts block(s) or step(s).

Accordingly, blocks or steps of the flowcharts support combinations ofmeans for performing the specified functions, combinations of operationsfor performing the specified functions and program instruction means forperforming the specified functions. It will also be understood that oneor more blocks or steps of the flowcharts, and combinations of blocks orsteps in the flowcharts, can be implemented by special purposehardware-based computer systems which perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

One embodiment of a method for providing resource unit based data blockpartitioning as provided in FIG. 12 may include determining, for a bitstream to be encoded in a coding scheme including an upper layer codingand a physical layer coding, whether upper layer coding is enabled atoperation 500. The method may further include, in response to the upperlayer coding being enabled, partitioning the bit stream into one or moreblocks for forward error correction coding at operation 510. The one ormore blocks may have a block size determined based on a size of aresource unit. The resource unit size may correspond to one or moreunits predefined in the physical layer for the resource allocation.

In some embodiments, certain ones of the operations above may bemodified or further amplified as described below. Moreover, in somecases, embodiments may include additional operations (and example ofwhich is shown in dashed lines in FIG. 12). It should be appreciatedthat each of the modifications, additions or amplifications below may beincluded with the operations above either alone or in combination withany others among the features described herein. In an exemplaryembodiment, the method may further include allocating one or more bitsof a configuration message to indicate application of a data blockpartition rule at operation 520. In some embodiments, partitioning thebit stream may include partitioning the bit stream into one or moreblocks having a block size of the resource unit which may be defined asone RU, multiple RUs, one sub-band, multiple sub-bands, one mini-band ormultiple mini-bands for WiMAX related implementations, or partitioningthe bit stream into one or more blocks having a block size of theresource unit corresponding to one resource block (RB) or multipleresource blocks (RBs) for Long Term Evolution (LTE) implementations. Inan exemplary embodiment, partitioning the bit stream may includepartitioning the bit stream such that data block size in the upper layercorresponds to a size of the one or more blocks for forward errorcorrection coding excluding padded bits for error detection. In somecases, a duration of performing the upper layer coding fits one ormultiple physical layer scheduling intervals (e.g., the physical layerscheduling interval may be the E-MBS scheduling interval (MSI) for IEEE802.16m E-MBS. In an exemplary embodiment, the upper layer may beconfigured to reuse an error detection result of the forward errorcorrection blocks in the physical layer. In some embodiments, inresponse to the upper layer coding being enabled, a smaller resourcesize may be allocated to avoid a large burst size or a total resourceallocation may be divided into multiple smaller resource allocations togenerate multiple smaller sub-bursts.

Another embodiment of a method for decoding data employing resource unitbased data block partitioning as provided in FIG. 13 may includereceiving a bit stream encoded in a coding scheme including an upperlayer coding and a physical layer coding at operation 600 and decodingthe bit stream based on the bit stream being partitioned into one ormore blocks for forward error correction coding at operation 610. Theone or more blocks may have a block size determined based on a size of aresource unit. The resource unit size may correspond to one or moreunits predefined in the physical layer for the resource allocation.

In some embodiments, certain ones of the operations above may bemodified or further amplified as described below. It should beappreciated that each of the modifications or amplifications below maybe included with the operations above either alone or in combinationwith any others among the features described herein. In this regard, forexample, decoding the bit stream may include decoding the bit streambased on the bit stream being partitioned into one or more blocks havinga block size of a resource unit which may be defined as one RU, multipleRUs, one sub-band, multiple sub-bands, one mini-band or multiplemini-bands for WiMAX related implementations, or one resource block (RB)or multiple resource blocks (RBs) for Long Term Evolution (LTE)implementations. In some embodiments, decoding the bit stream mayinclude decoding the bit stream based on the bit stream beingpartitioned such that data block size in the upper layer corresponds toa size of the one or more blocks for forward error correction codingexcluding padded bits for error detection. In an exemplary embodiment,decoding the bit stream may include decoding the bit stream based on thebit stream being partitioned with a smaller resource allocation size toavoid a large burst size or with a total resource allocation dividedinto multiple smaller resource allocations to generate multiple smallersub-bursts.

The text and figures included herein provide examples of embodiments,and provide support for a system, method, apparatus, and computerprogram product according to exemplary embodiments. It will beunderstood that each operation of the figures and/or text, and/orcombinations of operations in the figures and/or text, can beimplemented by various means. Means for implementing the operations ofthe figures and/or text, and/or combinations of the operations in theflowcharts and/or associated text may include hardware such ascircuitry, integrated circuit devices, or the like. A hardwareembodiment or means may include a hardware device that is specificallydesigned and configured for implementation of the operations describedherein, a hardware element that is configured under the direction ofprogram code or instructions according to the operations describedherein, or a combination of both. Examples of such hardware embodimentsor means may include an Application Specific Integrated Circuit (ASIC),a Programmable Logic Device (PLD), a Field Programmable Logic Array(FPGA), a processor, or other programmable apparatus. Embodiments of thepresent disclosure may also take the form of one or more of theoperations described herein embodied as program code instructions storedon a computer-readable storage medium. As defined herein a“computer-readable storage medium,” which refers to a physical storagemedium (e.g., volatile or non-volatile memory device), can bedifferentiated from a “computer-readable transmission medium,” whichrefers to an electromagnetic signal.

The program code instructions which embody the operations may be storedby or on a computer-readable storage medium, such as a memory device ofan apparatus, and executed by one or more hardware devices. As will beappreciated, program code instructions may be loaded onto a hardwaredevice to produce a particular and specially configured machine forimplementing the operations described in the figures and/or text.Embodiments of the present disclosure may include hardware devices thatload and execute the operations in a sequential manner, or hardwaredevices that load and/or execute some or all of the operationssimultaneously.

It will be appreciated by one of skill in the art that the exemplaryembodiments of the present disclosure provided herein describe some, butnot all embodiments of the invention. Indeed, the invention may beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein; rather, these embodiments areprovided so that this disclosure will satisfy applicable legalrequirements.

Many modifications and other embodiments of the disclosures set forthherein will come to mind to one skilled in the art to which theseinventions pertain to having the benefit of the teachings presented inthe foregoing descriptions and the associated drawings. Therefore, it isto be understood that the inventions are not to be limited to thespecific embodiments disclosed and that modifications and otherembodiments are intended to be included within the scope of the appendedclaims. Moreover, although the foregoing descriptions and the associateddrawings describe exemplary embodiments in the context of certainexemplary combinations of elements and/or functions, it should beappreciated that different combinations of elements and/or functions maybe provided by alternative embodiments without departing from the scopeof the present invention. Although specific terms are employed herein,they are used in a generic and descriptive sense only and not forpurposes of limitation.

What is claimed is:
 1. A method for determining the size of data blockof upper layer coding for partitioning a bit stream corresponding tophysical layer coding, the method comprising: determining a number ofused resource units for a forward error correction (FEC) block at thephysical layer; and determining a number of information bits to one FECblock based on the number of used resource units; and determining thesize of data block of upper layer coding based on the number ofinformation bits of one FEC block for the upper layer coding.
 2. Themethod of claim 1, wherein the resource unit comprises P_(sc)consecutive subcarriers by N_(sym) consecutive OFDMA symbols whereP_(sc) and N_(sym) are positive integers.
 3. The method of claim 1,wherein the resource unit corresponds to one or more resource units, oneor more sub-bands, or one or more mini-bands for WiMAX-relatedimplementations.
 4. The method of claim 1, wherein the resource unitcorresponds to one or more resource blocks for Long Term Evolutionimplementations.
 5. The method of claim 1, wherein the size of datablock corresponds to one or a multiple of the number of information bitsof a FEC block.
 6. The method of claim 1, wherein a duration ofperforming the upper layer coding fits one or multiple physical layerscheduling intervals.
 7. The method of claim 1, further comprisingallocating one or more bits of a configuration message to indicateapplication of a data block partition rule.
 8. The method of claim 1,wherein the upper layer is configured to reuse an error detection resultof the forward error correction blocks in the physical layer.
 9. Themethod of claim 1, further comprising: determining whether the upperlayer coding is enabled; and allocating a smaller resource size to avoida large burst size or dividing a total resource allocation into multiplesmaller resource allocations to generate multiple smaller sub-bursts.10. The method of claim 1, further comprising: determining whether theupper layer coding is enabled; and in response to the upper layer codingbeing enabled, partitioning the bit stream into one or more blocks forFEC coding, the one or more blocks having a block size determined basedon a size of a resource unit, the resource unit size corresponding toone or more units predefined at the physical layer for the resourceallocation.
 11. An apparatus for determining the size of data block ofupper layer coding for partitioning a bit stream corresponding tophysical layer coding, the apparatus comprising processing circuitryconfiguring the apparatus to: determining a number of used resourceunits for a forward error correction (FEC) block at the physical layer;and determining a number of information bits to one FEC block based onthe number of used resource units; and determining the size of datablock of upper layer coding based on the number of information bits ofone FEC block for the upper layer coding.
 12. The method of claim 11,wherein the resource unit comprises P_(sc) consecutive subcarriers byN_(sym) consecutive OFDMA symbols where P_(sc) and N_(sym) are positiveintegers.
 13. The apparatus of claim 11, wherein the resource unitcorresponds to one or more resource units, one or more sub-bands, or oneor more mini-bands for WiMAX related implementations.
 14. The apparatusof claim 11, wherein the resource unit corresponds to one or moreresource blocks for Long Term Evolution (LTE) implementations.
 15. Theapparatus of claim 11, wherein the size of data block corresponds to oneor a multiple of the number of information bits of a FEC block.
 16. Theapparatus of claim 11, wherein a duration of performing the upper layercoding fits one or multiple physical layer scheduling intervals.
 17. Theapparatus of claim 11, wherein the processing circuitry furtherconfigures the apparatus to allocate one or more bits of a configurationmessage to indicate application of a data block partition rule.
 18. Theapparatus of claim 11, wherein the upper layer is configured to reuse anerror detection result of the forward error correction blocks in thephysical layer.
 19. The apparatus of claim 11, further comprising:determining whether the upper layer coding is enabled; and allocating asmaller resource size to avoid a large burst size or dividing a totalresource allocation into multiple smaller resource allocations togenerate multiple smaller sub-bursts.
 20. The apparatus of claim 11,further configured for: determining whether the upper layer coding isenabled; and in response to the upper layer coding being enabled,partitioning the bit stream into one or more blocks for FEC coding, theone or more blocks having a block size determined based on a size of aresource unit, the resource unit size corresponding to one or more unitspredefined at the physical layer for the resource allocation.
 21. Amethod for decoding data employing resource unit based data blockpartitioning, the method comprising: receiving a bit stream encoded in acoding scheme including an upper layer coding and a physical layercoding; and decoding the bit stream based on the bit stream beingpartitioned into one or more blocks for forward error correction coding,the one or more blocks having a block size determined based on a size ofa resource unit, the resource unit size corresponding to one or moreunits predefined at the physical layer for the resource allocation. 22.The method of claim 21, wherein the resource unit comprises P_(sc)consecutive subcarriers by N_(sym) consecutive OFDMA symbols whereP_(sc) and N_(sym) are positive integers.
 23. The method of claim 21,wherein the resource unit may correspond to one or more resource units,one or more sub-bands, or one or more mini-bands for WiMAX relatedimplementations or correspond to one or more resource blocks for LongTerm Evolution (LTE) implementations.
 24. The method of claim 21,wherein decoding the bit stream comprises decoding the bit stream basedon the bit stream being partitioned such that data block size in theupper layer corresponds to a size of the one or more blocks for forwarderror correction coding excluding padded bits for error detection. 25.The method of claim 21, wherein decoding the bit stream comprisesdecoding the bit stream based on the bit stream being partitioned with asmaller resource allocation size to avoid a large burst size or with atotal resource allocation divided into multiple smaller resourceallocations to generate multiple smaller sub-bursts.
 26. An apparatusfor decoding data employing resource unit based data block partitioning,the apparatus comprising processing circuitry configuring the apparatusto: receive a bit stream encoded in a coding scheme including an upperlayer coding and a physical layer coding; and decode the bit streambased on the bit stream being partitioned into one or more blocks forforward error correction coding, the one or more blocks having a blocksize determined based on a size of a resource unit, the resource unitsize corresponding to one or more units predefined at the physical layerfor the resource allocation.
 27. The method of claim 26, wherein theresource unit comprises P_(sc) consecutive subcarriers by N_(sym)consecutive OFDMA symbols where P_(sc) and N_(sym) are positiveintegers.
 28. The apparatus of claim 26, wherein the resource unit maycorrespond to one or more resource units, one or more sub-bands, or oneor more mini-bands for WiMAX related implementations or correspond toone or more resource blocks for Long Term Evolution (LTE)implementations.
 29. The apparatus of claim 26, wherein the processingcircuitry further configures the apparatus to decode the bit stream bydecoding the bit stream based on the bit stream being partitioned suchthat data block size in the upper layer corresponds to a size of the oneor more blocks for forward error correction coding excluding padded bitsfor error detection.
 30. The apparatus of claim 26, wherein theprocessing circuitry further configures the apparatus to decode the bitstream by decoding the bit stream based on the bit stream beingpartitioned with a smaller resource allocation size to avoid a largeburst size or with a total resource allocation divided into multiplesmaller resource allocations to generate multiple smaller sub-bursts.